// 导入封装好的 axios 对象，用于前后端的数据通信
import request from "@/utils/request";

/**
 * 将当前商品添加到指定的用户的购物车中
 * @param {添加商品到用户的购物车中} data
 */
export function addGoodsItemToCurrentUserShoopingCart(
  data = null /* 参数存在默认值，如果没有传递参数则使用指定的默认值 */
) {
  /**
   * method:get post delete put
   * post   增加
   * put    修改
   * delete 删除
   * get    查询
   * post 和 put 加上注解 @RequestBody
   */
  return request({
    url: "/ShoppingCart/addGoodsItemToCurrentUserShoppingCartByGoodsId",
    method: "post",
    data,
  });
}

/**
 * 查询某个用户的购物车中的商品条目
 * @param {分页查询的分页对象} pageObject （pageObject 包含：pageNumber:当前页的数据条目;pageSize:当前页;userId:当前用户的主键）
 */
export function selectAllShoppingCartItem(
  pageObject = null /* 参数存在默认值，如果没有传递参数则使用指定的默认值 */
) {
  /**
   * method:get post delete put
   * post   增加
   * put    修改
   * delete 删除
   * get    查询
   * post 和 put 加上注解 @RequestBody
   */
  return request({
    url: "/ShoppingCart/CurrentUserSelectAllShoppingCartItemByPaging",
    method: "get",
    params: pageObject,
  });
}

/**
 * 删除当前用户的某一个商品
 * @param {等待删除的购物车数据} object
 */
export function deleteShoppingCartGoodsItem(
  object = null /* 参数存在默认值，如果没有传递参数则使用指定的默认值 */
) {
  /**
   * method:get post delete put
   * post   增加
   * put    修改
   * delete 删除
   * get    查询
   * post 和 put 加上注解 @RequestBody
   */
  return request({
    url: "/ShoppingCart/deleteGoodsItemFromCurrentUserShoppingCartByGoodsId",
    method: "delete",
    params: object,
  });
}

/**
 *  修改购物车中的的某一条数据
 * @param {购物车数据条目的对象} shoppingCart
 */
export function updateShoppingCartItem(
  shoppingCart = null /* 参数存在默认值，如果没有传递参数则使用指定的默认值 */
) {
  /**
   * method:get post delete put
   * post   增加
   * put    修改
   * delete 删除
   * get    查询
   * post 和 put 加上注解 @RequestBody
   */
  return request({
    url: "/ShoppingCart/updateShoppingCartItemGoodsNumberByUserIdAndGoodsId",
    method: "put",
    data: shoppingCart,
  });
}

export function selectShoppingCartItemByPaging(params) {
  /**
   * method:get post delete put
   * post   增加
   * put    修改
   * delete 删除
   * get    查询
   * post 和 put 加上注解 @RequestBody
   */
  return request({
    url: "/ShoppingCart/selectShoppingCartItemByPaging",
    method: "get",
    params,
  });
}
